/*
  水仙花数是指每一位数字的立方和等于它本身的三位数。例如对于三位数153, 1*1*1 +5*5*5 + 3*3*3 = 153, 所以153是一个水仙花数。
  输入格式:      
    一个正整数N(100<=N<1000), 
  输出格式: 
    共输出二行, 格式如下:
    第一行: 从低到高输出所有小于等于N的水仙花数, 每2个数值之间用一个空格隔开; 如果没有满足条件的数, 该行为空行；
    第二行: 从高到低输出所有大于N的水仙花数, 每2个数值之间用一个空格隔开; 如果没有满足条件的数, 该行为空行；
  例子1:
    输入:
      189
    输出:
      153
      407 371 370
  例子2:
    输入:
      380
    输出:
      153 370 371
      407
  例子3:
    输入:
      900
    输出:
      153 370 371 407
      
      说明: 第二行为空行, 因为没有大于N的水仙花数
*/

#include <iostream>

using namespace std;

int main() 
{
  int n;
  int h;
  int g;
  int y;
  cin >> n;
  for (int i = 100 ; i <= n; i++){
    h = i / 100;
    g = i /10 % 10;
    y = i % 10;
    if (h * h * h + g * g * g + y * y * y == i){
      cout << i << " " ;
    }
  }
  cout << endl;
  for (int i = n ; i <= 999; i++){
    h = i / 100;
    g = i /10 % 10;
    y = i % 10;
    if (h * h * h + g * g * g + y * y * y == i){
      cout << i << " " ;
    }
  }
}
